
package requests

import (
	"github.com/goravel/framework/contracts/http"
	"github.com/goravel/framework/contracts/validation"
)

type StoreIntegralOrderRequest struct {

	OrderId string `json:"order_id" form:"order_id"`

	Uid string `json:"uid" form:"uid"`

	RealName string `json:"real_name" form:"real_name"`

	UserPhone string `json:"user_phone" form:"user_phone"`

	UserAddress string `json:"user_address" form:"user_address"`

	ProductId string `json:"product_id" form:"product_id"`

	Image string `json:"image" form:"image"`

	StoreName string `json:"store_name" form:"store_name"`

	Suk string `json:"suk" form:"suk"`

	TotalNum string `json:"total_num" form:"total_num"`

	Price string `json:"price" form:"price"`

	TotalPrice string `json:"total_price" form:"total_price"`

	AddTime string `json:"add_time" form:"add_time"`

	Status string `json:"status" form:"status"`

	DeliveryName string `json:"delivery_name" form:"delivery_name"`

	DeliveryCode string `json:"delivery_code" form:"delivery_code"`

	DeliveryType string `json:"delivery_type" form:"delivery_type"`

	DeliveryId string `json:"delivery_id" form:"delivery_id"`

	FictitiousContent string `json:"fictitious_content" form:"fictitious_content"`

	DeliveryUid string `json:"delivery_uid" form:"delivery_uid"`

	Mark string `json:"mark" form:"mark"`

	IsDel string `json:"is_del" form:"is_del"`

	Remark string `json:"remark" form:"remark"`

	MerId string `json:"mer_id" form:"mer_id"`

	IsMerCheck string `json:"is_mer_check" form:"is_mer_check"`

	IsRemind string `json:"is_remind" form:"is_remind"`

	IsSystemDel string `json:"is_system_del" form:"is_system_del"`

	ChannelType string `json:"channel_type" form:"channel_type"`

	Province string `json:"province" form:"province"`

	ExpressDump string `json:"express_dump" form:"express_dump"`

	VerifyCode string `json:"verify_code" form:"verify_code"`

}

func (r *StoreIntegralOrderRequest) Authorize(ctx http.Context) error {
	return nil
}

func (r *StoreIntegralOrderRequest) Rules(ctx http.Context) map[string]string {
	return map[string]string{

		"order_id": "required",

		"uid": "required",

		"real_name": "required",

		"user_phone": "required",

		"user_address": "required",

		"product_id": "required",

		"image": "required",

		"store_name": "required",

		"suk": "required",

		"total_num": "required",

		"price": "required",

		"total_price": "required",

		"add_time": "required",

		"status": "required",

		"delivery_name": "required",

		"delivery_code": "required",

		"delivery_type": "required",

		"delivery_id": "required",

		"fictitious_content": "required",

		"delivery_uid": "required",

		"mark": "required",

		"is_del": "required",

		"remark": "required",

		"mer_id": "required",

		"is_mer_check": "",

		"is_remind": "required",

		"is_system_del": "required",

		"channel_type": "required",

		"province": "required",

		"express_dump": "required",

		"verify_code": "required",

	}
}

func (r *StoreIntegralOrderRequest) Messages(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *StoreIntegralOrderRequest) Attributes(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *StoreIntegralOrderRequest) PrepareForValidation(ctx http.Context, data validation.Data) error {
	return nil
}
